ToeTagger 2.1.0
===============

Previous release: 2.0
Suggested release: 2.1.0
Version type: Minor feature and compatibility release

STANDALONE PERSONAL STAR COUNTER
- Replaced the shared save-file star total with a ToeTagger-owned per-player session counter.
- Counts local star/key interactions through ToeTagger's own interaction hook.
- Publishes each player's total through that player's sync table entry.
- Reads the synchronized total for the matching sidebar row instead of using MarioState.numStars.
- Starts each player at zero for the current session rather than inheriting the save file total.
- Does not require the separate Personal Star Counter mod to be installed or enabled.
- Removed the old fallback calls into the Personal Star Counter global API.
- Removed fallback behavior that could silently return the vanilla/global star total.

PER-PLAYER STAR FEEDBACK
- Starts the rainbow STARS timer only on the player who completed the interaction.
- Stores the flash timer in that player's synchronized state.
- Reads flash color from the matching sidebar slot instead of one shared local value.
- Prevents one player's star collection from animating every connected player's STARS label.
- Added a 15-frame same-object guard to reduce duplicate counting from repeated interaction callbacks.
- Clears the remembered star object when the duplicate-protection window expires.

WAYPOINT AND RAYCAST FIXES
- Wrapped optional RayIntersectionInfo field access in protected reads.
- No longer assumes every ray result exposes object, hitObj, or surface.object.
- Fixed the D-Pad waypoint Lua error caused by directly indexing unavailable userdata fields.
- Preserved waypoint placement when the ray hits normal level geometry without an attached object.
- Retained star endpoint detection through direct behavior checks when object data is available.
- Retained fallback searches for nearby Star and Grand Star objects when ray object data is absent.

SIDEBAR AND COMPATIBILITY CHANGES PRESENT IN THE BUILD
- Added optional POOPer record/footer lines when POOPer exposes its ToeTagger API.
- Expands sidebar width and height to fit POOPer footer text without clipping the panel.
- Retains NUZLOCKer remaining-character display support.
- Retains NUZLOCKer personal/shared pool icon display support.
- Retains MarioFIGHTer, POOPer, AFKer, and NUZLOCKer activity-badge hooks in the codebase.

KNOWN LIMITATIONS AND EXCLUDED CLAIMS
- Activity badges were reported as nonfunctional during testing and are not considered a working 2.1.0 feature.
- The experimental L+R+Z+START softlock-menu helper is not included in ToeTagger 2.1.0.
- The separate softlock helper mod is not bundled with this release.
- SIDEKICKer active-sidekick icons on a third sidebar line are not included in this live build.
- Personal star totals are session counters and are not intended to represent lifetime save-file progress.
- The engine interaction type is INTERACT_STAR_OR_KEY; key interactions may be treated as collections by this implementation.
- POOPer footer display requires a POOPer build that exposes the expected ToeTagger API functions.

BUG FIX SUMMARY
- Fixed the sidebar showing the save file's total star count for every player.
- Fixed rainbow STARS feedback triggering on all player slots.
- Fixed the counter staying tied to or dependent on the separate Personal Star Counter mod.
- Fixed repeated callbacks for the same object rapidly increasing the personal total.
- Fixed waypoint placement producing RayIntersectionInfo field-access Lua errors.
- Fixed optional footer content overflowing the calculated sidebar dimensions.

INSTALLATION
1. Remove or replace the old ToeTagger.lua.
2. Place the included ToeTagger.lua in the sm64coopdx mods folder.
3. Do not install the separate Personal Star Counter mod solely for ToeTagger; it is not required.
